#HTML <audio>
The <audio> HTML element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.
#Attributes
-
autoplay
: A Boolean attribute: if specified, the audio will automatically begin playback as soon as it can do so, without waiting for the entire audio file to finish downloading.Note: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control. See our autoplay guide for additional information about how to properly use autoplay.
-
controls
: If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback. -
controlslist
: Thecontrolslist
attribute, when specified, helps the browser select what controls to show for theaudio
element whenever the browser shows its own set of controls (that is, when thecontrols
attribute is specified).The allowed values are
nodownload
,nofullscreen
andnoremoteplayback
. -
crossorigin
: This enumerated attribute indicates whether to use CORS to fetch the related audio file. CORS-enabled resources can be reused in the<canvas>
element without being tainted. The allowed values are:anonymous
: Sends a cross-origin request without a credential. In other words, it sends theOrigin:
HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting theAccess-Control-Allow-Origin:
HTTP header), the resource will be tainted, and its usage restricted.use-credentials
: Sends a cross-origin request with a credential. In other words, it sends theOrigin:
HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (throughAccess-Control-Allow-Credentials:
HTTP header), the resource will be tainted and its usage restricted.
When not present, the resource is fetched without a CORS request (i.e., without sending the
Origin:
HTTP header), preventing its non-tainted use in<canvas>
elements. If invalid, it is handled as if the enumerated keyword anonymous was used. See CORS settings attributes for additional information. -
disableremoteplayback
: A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information.In Safari, you can use
x-webkit-airplay="deny"
as a fallback. -
loop
: A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio. -
muted
: A Boolean attribute that indicates whether the audio will be initially silenced. Its default value isfalse
. -
preload
: This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience. It may have one of the following values:none
: Indicates that the audio should not be preloaded.metadata
: Indicates that only audio metadata (e.g., length) is fetched.auto
: Indicates that the whole audio file can be downloaded, even if the user is not expected to use it.- empty string: A synonym of the
auto
value.
The default value is different for each browser. The spec advises it to be set to
metadata
.Note:
- The
autoplay
attribute has precedence overpreload
. Ifautoplay
is specified, the browser would obviously need to start downloading the audio for playback. - The browser is not forced by the specification to follow the value of this attribute; it is a mere hint.
-
src
: The URL of the audio to embed. This is subject to HTTP access controls. This is optional; you may instead use the<source>
element within the audio block to specify the audio to embed.